home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Toolbox / Visual Basic Toolbox (P.I.E.)(1996).ISO / hlp_auth / robohede / cd_dr.mst < prev    next >
Encoding:
Text File  |  1993-04-27  |  6.9 KB  |  270 lines

  1. '' CD_DR.MST
  2. '**************************************************************************
  3. '*                       CD-DEMORUN Demo Product Setup
  4. '**************************************************************************
  5.  
  6. ''$DEFINE DEBUG     ''Define for script development/debugging
  7. ''$DEFINE DISKSIZE  ''Define if you want to check for disk space
  8.  
  9. '$INCLUDE 'defines.inc'
  10.  
  11. '$INCLUDE 'setupapi.inc'
  12. '$INCLUDE 'msdetect.inc'
  13.  
  14. ''Dialog ID's
  15. CONST WELCOME       = 100
  16. CONST ASKQUIT           = 200
  17. CONST DESTPATH          = 300
  18. CONST EXITFAILURE       = 400
  19. CONST EXITQUIT          = 600
  20. CONST EXITSUCCESS      = 700
  21. CONST OPTIONS       = 800
  22. CONST APPHELP       = 900
  23. CONST DRIVESELECT       = 1100
  24. CONST BADPATH       = 6400
  25.  
  26. ''Bitmap ID
  27. CONST LOGO = 1
  28.  
  29. GLOBAL DEST$            ''Default destination directory.
  30. GLOBAL OPTCUR$          ''Null for now
  31. GLOBAL WINDRIVE$        ''Used in size test
  32.  
  33. GLOBAL SrcDir$
  34. GLOBAL WinDir$
  35. GLOBAL WinSysDir$
  36. GLOBAL PRODUCT$
  37. GLOBAL VFW%        ''=1 if VFW Run Time previous install
  38. GLOBAL PRO%
  39. GLOBAL OKWRITE%
  40.  
  41. GLOBAL WantedDiskSize&  ''Used for disk size test
  42.  
  43. DECLARE SUB Install
  44. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  45.  
  46. ''DECLARE FUNCTION DoProtect LIB "PROTECT.DLL" (szDisk$) AS INTEGER
  47.  
  48. INIT:
  49.     CUIDLL$   = "mscuistf.dll"              ''Custom user interface dll
  50.     HELPPROC$ = "FHelpDlgProc"      ''Help dialog procedure
  51.  
  52.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  53.     WinDir$ = GetWindowsDir()
  54.     WinSysDir$ = GetWindowsSysDir()
  55.  
  56.     MajorVer% = GetWindowsMajorVersion()
  57.     MinorVer% = GetWindowsMinorVersion()
  58.  
  59.     IF  MajorVer% < 3 OR (MajorVer% = 3 AND MinorVer% < 10) THEN
  60.         i% = DoMsgBox("Microsoft Windows version 3.10 or greater is required for this software.  Please upgrade your version of Windows.", "Installation Problem", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  61.         END
  62.     END IF
  63.  
  64.  
  65. '$IFDEF DEMOQUICK
  66.     PRODUCT$ = "DEMOQUICK"
  67. '$ELSEIFDEF VHELP
  68.     PRODUCT$ = "VHELP"
  69. '$ELSEIFDEF PRODDE
  70.     PRODUCT$ = "PRODDE"
  71. '$ELSEIFDEF CBIQUICK
  72.     PRODUCT$ = "CBIQUICK"
  73. '$ELSEIFDEF CBIPRO
  74.     PRODUCT$ = "CBIPRO"
  75. '$ELSE
  76.     i% = DoMsgBox("Product type not defined.", "Define product", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  77.     END
  78. '$ENDIF
  79.  
  80.  
  81.     SetBitmap CUIDLL$, LOGO
  82.     IF (PRODUCT$="DEMOQUICK") OR (PRODUCT$="VHELP") OR (PRODUCT$="PRODDE") THEN
  83.         SetTitle "Demo/Tutorial Install ... Created with DEMOquick"
  84.     ELSE
  85.         SetTitle "Tutorial Install ... Created with CBIquick"
  86.     ENDIF
  87.  
  88.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  89.  
  90.     IF szInf$ = "" THEN
  91.      szInf$ = GetSymbolValue("STF_CWDDIR") + "CD_DR.INF"
  92.     END IF
  93.  
  94.     ReadInfFile szInf$
  95.  
  96.     OPTCUR$ = "1"
  97.     DEST$ = GetSymbolValue("STF_SRCDIR")
  98.  
  99.  
  100. WELCOME:
  101.  
  102. GETPATH:
  103.  
  104.  
  105. GETPATHL1:
  106.  
  107.     ''------------------------------------------------------------------
  108.  
  109.     Install
  110.  
  111.     ''------------------------------------------------------------------
  112.  
  113. QUIT:
  114.     ON ERROR GOTO ERRQUIT
  115.  
  116.     IF ERR = 0 THEN
  117.     dlg% = EXITSUCCESS
  118.     ELSEIF ERR = STFQUIT THEN
  119.     dlg% = EXITQUIT
  120.     ELSE
  121.     dlg% = EXITFAILURE
  122.     END IF
  123. QUITL1:
  124.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  125.     IF sz$ = "REACTIVATE" THEN
  126.     GOTO QUITL1
  127.     END IF
  128.     UIPop 1
  129.  
  130.     END
  131.  
  132. ERRQUIT:
  133.     i% = DoMsgBox("Problem with SETUP files, call (508) 263-3030 !", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  134.     END
  135.  
  136.  
  137.  
  138. BADPATH:
  139.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  140.     IF sz$ = "REACTIVATE" THEN
  141.     GOTO BADPATH
  142.     END IF
  143.     UIPop 1
  144.     RETURN
  145.  
  146.  
  147.  
  148. ASKQUIT:
  149.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  150.  
  151.     IF sz$ = "EXIT" THEN
  152.     UIPopAll
  153.     ERROR STFQUIT
  154.     ELSEIF sz$ = "REACTIVATE" THEN
  155.     GOTO ASKQUIT
  156.     ELSE
  157.     UIPop 1
  158.     END IF
  159.     RETURN
  160.  
  161.  
  162. '**********************************************************************
  163. '** Install
  164. '**
  165. '** Purpose:
  166. '**     Builds the copy list and performs all installation operations.
  167. '** Arguments:
  168. '**     none.
  169. '** Returns:
  170. '**     none.
  171. '*************************************************************************
  172. SUB Install STATIC
  173.  
  174.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  175.  
  176.  
  177.     ''Add Video-For-Windows Run-Time files------------------------------
  178.     ''See if we can install VFW on system
  179.  
  180.     VFW% = DoesFileExist(MakePath(WinSysDir$, "MSVIDEO.DLL"), femExists)
  181.  
  182.     OKWRITE% = IsDirWritable(WinSysDir$)
  183.  
  184.     IF (VFW% = 0) AND (OKWRITE% = 1) THEN
  185.         AddSectionFilesToCopyList "VFW Runtime", SrcDir$, WinSysDir$
  186.         AddSectionFilesToCopyList "AVICodecs", SrcDir$, WinSysDir$
  187.     ELSE
  188.         IF VFW% = 1 THEN
  189.             i% = DoMsgBox("Video For Windows drivers already present.  Install will continue.  Click on OK.", "Video-For-Windows Present", MB_OK+MB_TASKMODAL+MB_ICONINFORMATION)
  190.         ELSEIF OKWRITE% = 0 THEN
  191.             i% = DoMsgBox("WINDOWS\SYSTEM directory is write protected.  Drivers not installed.", "Video-For-Windows Drivers", MB_OK+MB_TASKMODAL+MB_ICONINFORMATION)
  192.         ENDIF
  193.     ENDIF
  194.  
  195.  
  196.     ''Add PROFILE.EXE program if not there -----------------------------
  197.     PRO% = DoesFileExist(MakePath(WinSysDir$, "PROFDISP.EXE"), femExists)
  198.     IF (PRO% = 0) AND (OKWRITE% = 1) THEN
  199.         AddSectionFilesToCopyList "Profile", SrcDir$, WinSysDir$
  200.     ENDIF
  201.  
  202.  
  203.     CopyFilesInCopyList
  204.  
  205.  
  206.     ''Update WIN.INI and SYSTEM.INI......................................
  207.     IF VFW% = 0 THEN
  208.         CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.MSVC", "msvidc.drv", cmoOverwrite
  209.         CreateIniKeyValue "WIN.INI", "mci extensions", "avi", "AVIVideo", cmoOverwrite
  210.         CreateIniKeyValue WinDir$ + "system.ini", "mci", "AVIVideo", "mciavi.drv", cmoOverwrite
  211.     ENDIF
  212.  
  213.     Run ("profdisp")
  214.  
  215.     IF (PRODUCT$="DEMOQUICK") OR (PRODUCT$="VHELP") OR (PRODUCT$="PRODDE") THEN
  216.         CreateProgmanGroup "DEMOrun", WinDir$+"DEMORUN.GRP", cmoNone
  217.         ShowProgmanGroup  "DEMOrun", 1, cmoNone
  218.     ELSE
  219.         CreateProgmanGroup "CBIrun", WinDir$+"CBIRUN.GRP", cmoNone
  220.         ShowProgmanGroup  "CBIrun", 1, cmoNone
  221.     ENDIF
  222.  
  223.  
  224.     ''Get the icon label def created by DQ in Create Disk
  225.  
  226. '$IFDEF DEMOQUICK
  227.     '$INCLUDE 'DEMOLABL.INC'
  228. '$ELSEIFDEF VHELP
  229.     '$INCLUDE 'DM_LAB_D.INC'
  230. '$ELSEIFDEF PRODDE
  231.     '$INCLUDE 'DM_LAB_D.INC'
  232. '$ELSEIFDEF CBIQUICK
  233.     '$INCLUDE 'DEMOLABL.INC'
  234. '$ELSEIFDEF CBIPRO
  235.     '$INCLUDE 'DM_LAB_D.INC'
  236. '$ELSE
  237.     i% = DoMsgBox("Product type not defined.", "Define product", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  238.     END
  239. '$ENDIF
  240.  
  241.  
  242.  
  243. END SUB
  244.  
  245.  
  246. '************************************************************************
  247. '** MakePath
  248. '**
  249. '** Purpose:
  250. '**     Appends a file name to the end of a directory path,
  251. '**     inserting a backslash character as needed.
  252. '** Arguments:
  253. '**     szDir$  - full directory path (with optional ending "\")
  254. '**     szFile$ - filename to append to directory
  255. '** Returns:
  256. '**     Resulting fully qualified path name.
  257. '*************************************************************************
  258. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  259.     IF szDir$ = "" THEN
  260.     MakePath = szFile$
  261.     ELSEIF szFile$ = "" THEN
  262.     MakePath = szDir$
  263.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  264.     MakePath = szDir$ + szFile$
  265.     ELSE
  266.     MakePath = szDir$ + "\" + szFile$
  267.     END IF
  268. END FUNCTION
  269.  
  270.